﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.oracle
{
	// Token: 0x02000148 RID: 328
	public class TPlsqlTableTypeDefStmt : TCustomSqlStatement
	{
		// Token: 0x06000AEB RID: 2795 RVA: 0x003056EB File Offset: 0x003038EB
		public TPlsqlTableTypeDefStmt() : this(EDbVendor.dbvoracle)
		{
		}

		// Token: 0x06000AEC RID: 2796 RVA: 0x003056F5 File Offset: 0x003038F5
		public TPlsqlTableTypeDefStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstplsql_tabletypedef;
		}

		// Token: 0x06000AED RID: 2797 RVA: 0x00305715 File Offset: 0x00303915
		internal override void buildsql()
		{
		}

		// Token: 0x06000AEE RID: 2798 RVA: 0x00305717 File Offset: 0x00303917
		internal override void clear()
		{
		}

		// Token: 0x06000AEF RID: 2799 RVA: 0x00305719 File Offset: 0x00303919
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000AF0 RID: 2800 RVA: 0x00305720 File Offset: 0x00303920
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x06000AF1 RID: 2801 RVA: 0x00305722 File Offset: 0x00303922
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			base.doParseStatement(psql);
			return 0;
		}

		// Token: 0x170001FD RID: 509
		// (get) Token: 0x06000AF2 RID: 2802 RVA: 0x0030572D File Offset: 0x0030392D
		// (set) Token: 0x06000AF3 RID: 2803 RVA: 0x00305735 File Offset: 0x00303935
		public virtual TTypeName IndexByDataType
		{
			get
			{
				return this.indexByDataType;
			}
			set
			{
				this.indexByDataType = value;
			}
		}

		// Token: 0x170001FE RID: 510
		// (get) Token: 0x06000AF4 RID: 2804 RVA: 0x0030573E File Offset: 0x0030393E
		// (set) Token: 0x06000AF5 RID: 2805 RVA: 0x00305746 File Offset: 0x00303946
		public virtual bool? NotNull
		{
			get
			{
				return this.notNull;
			}
			set
			{
				this.notNull = value;
			}
		}

		// Token: 0x170001FF RID: 511
		// (get) Token: 0x06000AF6 RID: 2806 RVA: 0x0030574F File Offset: 0x0030394F
		// (set) Token: 0x06000AF7 RID: 2807 RVA: 0x00305757 File Offset: 0x00303957
		public virtual TTypeName ElementDataType
		{
			get
			{
				return this.elementDataType;
			}
			set
			{
				this.elementDataType = value;
			}
		}

		// Token: 0x17000200 RID: 512
		// (get) Token: 0x06000AF8 RID: 2808 RVA: 0x00305760 File Offset: 0x00303960
		// (set) Token: 0x06000AF9 RID: 2809 RVA: 0x00305768 File Offset: 0x00303968
		public virtual TObjectName TypeName
		{
			get
			{
				return this.typeName;
			}
			set
			{
				this.typeName = value;
			}
		}

		// Token: 0x06000AFA RID: 2810 RVA: 0x00305771 File Offset: 0x00303971
		public override void init(object arg1, object arg2)
		{
			this.typeName = (TObjectName)arg1;
			this.typeName.ObjectType = 27;
			this.elementDataType = (TTypeName)arg2;
		}

		// Token: 0x06000AFB RID: 2811 RVA: 0x00305798 File Offset: 0x00303998
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000AFC RID: 2812 RVA: 0x003057A8 File Offset: 0x003039A8
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0400129A RID: 4762
		private TObjectName typeName;

		// Token: 0x0400129B RID: 4763
		private TTypeName elementDataType;

		// Token: 0x0400129C RID: 4764
		private bool? notNull = new bool?(false);

		// Token: 0x0400129D RID: 4765
		private TTypeName indexByDataType;
	}
}
